package cn.chinaunicom.mini.program.dingtalk.events.model.callback;

import cn.chinaunicom.mini.program.dingtalk.events.model.ExtendParam;
import lombok.Getter;
import lombok.Setter;

/**
 * @ProjectName: dingtalk-adapter
 * @Package: cn.chinaunicom.mini.program.dingtalk.events.model.callback
 * @ClassName: MarketOrderCallbackData
 * @Description: 用于应用商店订单回调（新增和修改）
 * @Author: wangjc
 * @CreateDate: 2024/6/12
 * @UpdateUser: wangjc
 * @UpdateDate: 2024/6/12
 * @UpdateRemark: 更新内容
 * @Version: 1.0
 */
@Getter
@Setter
public class MarketOrderCallbackData {
    // 订单类型，例如：NEW、CANCEL、REFUND等
    private String orderType;
    // 分销商企业名称
    private String distributorCorpName;
    // 优惠金额，单位：分
    private int discountFee;
    // 解决方案套餐包名称
    private String solutionPackageName;
    // 订单ID
    private String orderId;
    // 开放平台用户ID
    private String openId;
    // 商品编码
    private String itemCode;
    // 订单标签，用于标记订单的特定属性
    private int orderLabel;
    // 销售模式类型，例如：SINGLE、GROUP等
    private String saleModelType;
    // 解决方案套餐包key
    private String solutionPackageKey;
    // 优惠比例，百分比形式，如80表示8折
    private double discount;
    // 最大可购买人数
    private int maxOfPeople;
    // 是否自动转换免费项
    private boolean autoChangeFreeItem;
    // 采购类型，例如：NORMAL、DISCOUNT等
    private int purchaseType;
    // 分销商企业ID
    private String distributorCorpId;
    // 原始商品编码
    private String originalArticleCode;
    // 商品名称
    private String itemName;
    // 购买用户ID
    private String buyUserId;
    // 实际支付金额，单位：分
    private int payFee;
    // 服务结束时间，时间戳形式
    private long serviceStopTime;
    // 商品类型，例如：SERVICE、GOODS等
    private String articleType;
    // 服务开始时间，时间戳形式
    private long serviceStartTime;
    // 应用ID
    private int appId;
    // 商家外部交易号
    private String outTradeNo;
    // 套餐key
    private String suiteKey;
    // 订单来源，例如：APP、WEB等
    private String orderCreatSource;
    // 主企业ID
    private String mainCorpId;
    // 主商品名称
    private String mainArticleName;
    // 商品名称
    private String goodsName;
    // 最小可购买人数
    private int minOfPeople;
    // 套餐ID
    private int suiteId;
    // 用户统一标识
    private String unionId;
    // 企业ID
    private String corpId;
    // 主商品编码
    private String mainArticleCode;
    // 子订单数量
    private int subQuantity;
    // 原始商品编码
    private String originalItemCode;
    // 来源标识，用于追踪订单来源
    private String leadsFrom;
    // 赠品主订单ID
    private long presentRelMainOrderId;
    // 扩展参数，用于存储额外的信息
    private ExtendParam extendParam;
    // 标准支付金额，单位：分
    private int nominalPayFee;
    // 服务商操作码，用于标识特定的操作
    private String isvOperationCode;
    // 商品代码
    private String goodsCode;
    // 支付时间，时间戳形式
    private long paidtime;
    // 订单渠道码
    private String orderChannelCode;
}


